package dom4j;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.List;

/**
 * ClassName: DOM4JTest
 * Package: dom4j
 * Description:
 *
 * @Author 刘英杰
 * @Create 2024/8/21 9:16
 * @Version 1.0
 */
public class DOM4JTest {
    public static void main(String[] args) throws DocumentException {
        //1.利用SaxReader读取一个xml文件
        Document doc = new SAXReader().read("day01-xml-json/Demo02.xml");
//        System.out.println(doc); //测试能否获取xml文件

        //2.利用Document对象获取根节点
        Element rootElement = doc.getRootElement();
//        System.out.println(rootElement.getName()); //products

        //3.获取根节点下的所有子节点
        List<Element> childElement = rootElement.elements();
        //4.遍历所有子节点,接着进一步获取子节点中的内容
        for (Element ele : childElement) {
            System.out.println(ele.getName() + " " + ele.attributeValue("pid"));

            //5.获取当前遍历的product元素中的子元素
            for (Element item : ele.elements()) {
                System.out.println(item.getName() + " " + item.getText()
                            + " " + item.attributeValue("name"));
            }
        }
    }
}
